package com.iscc.fake.util;

import com.alibaba.druid.pool.DruidDataSource;
import com.mysql.jdbc.ResultSetImpl;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DataSourceUtile {
    //申明连接池对象
    private static DruidDataSource dataSource=null;
    static {
        //实例化对象
        dataSource =new DruidDataSource();
        //连接数据库驱动信息
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        //设置连接数据库的地址
        dataSource.setUrl("jdbc:mysql://localhost:3306/db_tmao?useUnicode=true&characterEncoding=UTF8");
        //设置数据库用户
        dataSource.setUsername("root");
        //设置数据库密码
        dataSource.setPassword("123456");
        //设置初始化连接池连接数
        dataSource.setInitialSize(10);
        //设置最大连接数
        dataSource.setMaxActive(50);
        //设置最小连接数
        dataSource.setMinIdle(5);
        //设置最大等待时间
        dataSource.setMaxWait(1000*60*3);
    }
    //返回连接对象
    public static Connection getConnection() throws SQLException {
        return dataSource.getConnection();
    }
    public static void closeReource(ResultSet rs, PreparedStatement ps , Connection conn){
        try {
        if(rs!=null){
            rs.close();
            }
        if(ps!=null){
            ps.close();
        }
        if(conn!=null){
            conn.close();
        }
        }catch (SQLException e) {
            e.printStackTrace();
        }
    }
    public static void closeReource( PreparedStatement ps , Connection conn){
        closeReource(null,ps,conn);
    }
    public static void closeReource(Connection conn) {
        closeReource(null,null,conn);
    }
}
